A typical call center includes a number of agents who handle inbound telephone calls and place outbound telephone calls on behalf of business clients. Each agent may receive or place calls for multiple business clients. Each agent has an associated station that includes a personal computer or workstation, a phone pad, and a headset. The agents are organized into groups that have associated supervisors who are responsible for managing and overseeing the agents in the respective groups. Each agent workstation typically runs multiple software application programs. These application programs may include an application program for controlling a telephone pad and call service application programs that assist the agent in handling calls for different business clients.
Certain conventional call centers include a computer/telephone interface (CTI) server that produces events regarding calling activity. The CTI server is typically connected to an automatic call distributor (ACD) that is responsible for distributing calls within the call center. The CTI server extracts call data from the ACD and encapsulates the extracted data in events that are output to clients. Typically, in order for an application running on an agent workstation to receive events from the CTI server, the application must register with the CTI server, and provide code for communicating directly with the CTI server. As a result, the complexity and cost of creating such application programs is increased substantially.